软件工程理论与实践 (吕云翔) 第二章软件过程 课后习题及其答案 您所在的位置:网站首页 dsp原理与实践第2版 周鹏 课后答案 软件工程理论与实践 (吕云翔) 第二章软件过程 课后习题及其答案

软件工程理论与实践 (吕云翔) 第二章软件过程 课后习题及其答案

2024-07-05 07:15| 来源: 网络整理| 查看: 265

软件工程理论与实践 (吕云翔) 第二章课后习题

第二章 软件过程 1.判断题

(1)瀑布模型的最大优点是将软件开发的各个阶段划分得十分清晰。 ( × )

(2)螺旋模型是在瀑布模型和增量模型的基础上增加了风险分析活动。( × )

(3)软件工程过程应该以软件设计为中心,关键是编写程序。( × )

(4)极限编程属于增量模型。 ( × )

2.选择题

(1)增量模型本质上是一种( C)。 A.线性顺序模型 B.整体开发模型 C.非整体开发模型 D.螺旋模型 (2)软件过程是( C)。 A.特定的开发模型 B.一种软件求解的计算逻辑 C.软件开发活动的集合 D.软件生命周期模型 (3)软件生命周期模型不包括( B)。 A.瀑布模型 B.用例模型 C.增量模型 D螺旋模型 (4)包含风险分析的软件工程模型是(A )。 A.螺旋模型 B.瀑布模型 C.增量模型 D.喷泉模型 (5)软件工程中描述生命周期的瀑布模型一般包括计划、需求分析、设计、编码、( D) 和维护等几个阶段。 A.产品发布 B.版本更新 C.可行性分析 D.测试

(6)软件开发的瀑布模型一般都将开发过程划分为分析、设计、编码和测试等阶段,一 般认为可能占用人员最多的阶段是(C)。 A.分析阶段 B.设计阶段 C.编码阶段 D.测试阶段

(7)螺旋模型综合了(B)的优点,并增加了风险分析。 A.增量模型和喷泉模型 B.瀑布模型和快速原型模型 C…瀑布模型和喷泉模型 D.快速原型模型和喷泉模型

3.简答题

(1)如何理解软件生命周期的内在特征?

1)描述了主要的开发阶段。 2)定义了每个阶段要完成的主要任务和活动。 3)规范了每个阶段的输人和输出。 4)提供了一个框架,把必要的活动映射到这个框架中。

(2)请对比瀑布模型、快速原型模型、增量模型和螺旋模型。

瀑布模型、快速原型模型、增量模型和螺旋模型都是软件开发领域中常用的开发方法论。它们在项目管理、开发过程和交付时间等方面存在一些差异。下面是对这些模型的对比:

瀑布模型(Waterfall Model): 瀑布模型是一种线性顺序的开发模型,将软件开发过程划分为一系列的阶段,包括需求分析、设计、开发、测试和维护。每个阶段都有明确的输入和输出,前一阶段的输出作为后一阶段的输入。这种模型适用于需求明确、稳定且不易改变的项目。它强调阶段之间的严格顺序和文档化,但缺点是项目进度不可逆转,难以适应需求变更和反馈。快速原型模型(Rapid Prototyping Model): 快速原型模型注重快速创建原型来验证和演示软件的功能和用户界面。它通过迭代的方式,快速构建一个简单的原型,以便用户提供反馈和意见。原型可以是粗糙的、非最终版的,但足以展示核心功能。这种模型适用于需求不明确、创新性较强的项目。优点是可以更快地获取用户反馈,但缺点是可能导致项目范围的不确定性和需求的频繁变更。增量模型(Incremental Model): 增量模型将软件开发划分为若干个增量阶段,每个增量都包含部分功能的设计、开发和测试。每个增量都可以独立交付给用户,并逐步完善。这种模型适用于大型项目,可以提前交付部分功能给用户,减少风险和提高用户满意度。优点是可以快速交付部分功能,缺点是可能需要额外的集成工作和管理成本。螺旋模型(Spiral Model): 螺旋模型是一种迭代的风险驱动模型,结合了瀑布模型和快速原型模型的特点。它通过在每个迭代中进行需求分析、风险评估和原型开发,逐渐迭代开发出软件系统。每个迭代都以用户评审和风险分析为基础,决定下一步的开发方向。这种模型适用于大型、复杂和风险较高的项目。优点是可以及早发现和解决风险,但缺点是需要更多的资源和时间来管理风险和迭代。

​ 总结而言,瀑布模型适用于需求稳定的项目,快速原型模型适用于需求不明确的项目,增量模型适用于大型项目和逐步交付的需求,螺旋模型适用于复杂和风险较高的项目。选择适合的模型取决于项目的需求、规模和风险程度。

(3)在统一软件开发过程模型中核心工作流程包含哪些?

​ 其中核心工作流程是在整个项目中与主要关注领域相关的活动的集合。在每个迭代的软件生命周期中,核心工作流程有业务建模、需求、分析和设计、实现、测试和部署。配置与变更管理、项目管理和环境属于核心支持工作流程,它们为核心工作流程的实施提供 支持。

(4)当需求不能一次搞清楚,且系统需求比较复杂时,选用哪种开发模型比较适合?

​ 当需求不能一次性搞清楚且系统需求比较复杂时,螺旋模型是比较适合的开发模型。螺旋模型是一种迭代的风险驱动模型,它允许在开发过程中通过多次迭代来逐步完善和调整需求。在每个迭代中,通过风险评估和原型开发,可以获取用户的反馈和意见,以便调整和完善系统需求。

(5)敏捷过程的核心价值观有哪些?它对传统方法的“反叛”体现在哪些方面?

(1)个体与交互高于过程和工具

(2)可运行软件高于详尽的文档

(3)与客户协作高于合同(契约)谈判

(4)对变更及时响应高于遵循计划

比传统方法,敏捷过程的"反叛"体现在以下几个方面:

需求的灵活性:敏捷过程接受需求的不确定性和变化,并通过迭代开发和持续交付来适应需求的变化。传统方法通常更加强调在项目开始之前完整和详尽地定义需求,并更难应对变化。团队合作和自组织:敏捷过程强调团队成员之间的合作和互动,倡导自组织的团队结构。传统方法通常更加注重层级管理和指令式的控制。迭代和增量开发:敏捷过程通过迭代和增量的方式开展开发,快速交付可工作的软件。传统方法通常采用瀑布模型,更强调阶段性的交付。客户参与和反馈:敏捷过程鼓励客户的积极参与和持续反馈,以确保满足客户的实际需求。传统方法通常更加依赖于合同和规范的约定。

(6)什么是软件过程?它与软件工程方法学有何关系?

​ 软件的诞生和生命周期是一个过程,称为软件过程。软件过程是为了开发出软件产品,或者是为了完成软件工程项目而需要完成的有关软件工程的活动,每一项活动又可以分为一系列的工程任务。任何一个软件开发组织,都可以规定自己的软件过程,所有这些过程共同构成了软件过程。

​ 软件工程方法学是指在软件开发中使用的一系列原则、技术和工具的集合,旨在实现高质量的软件产品。软件工程方法学提供了一种系统化和结构化的方法来指导软件开发的各个阶段和活动。

​ 软件过程和软件工程方法学之间存在密切的关系。软件过程提供了一种组织开发活动的框架和指导,它描述了开发过程中需要执行的特定任务和活动。而软件工程方法学则为软件过程提供了一系列的原则、技术和最佳实践,以帮助开发团队更有效地执行这些任务和活动。

​ 软件工程方法学提供了一种系统化的方法来选择、设计和实施适合特定项目的软件过程。它可以提供开发方法、工具和技术的指导,帮助开发团队制定合适的开发计划、要求管理、设计、编码、测试和维护策略等。

(7)某大型企业计划开发一个“综合信息管理系统”,该系统涉及销售、供应、财务、生 产和人力资源等多个部门的信息管理。该企业的想法是按部门优先级别逐个实现,边应用边开 发。对此,需要一种比较合适的过程模型。请对这个过程模型做出符合应用需要的选择,并说 明选择理由。

适合选择增量模型作为过程模型。

增量模型是一种迭代的开发模型,它将系统分成多个增量或阶段进行开发,每个增量都是一个可工作的部分系统。在每个增量中,可以逐步添加新的功能和模块,实现不同部门的信息管理。

选择增量模型的理由如下:

逐步交付:增量模型允许逐步交付部分系统,这对于大型企业来说非常有价值。每个增量的交付可以带来实际的业务收益和价值,同时也可以减少整个项目的风险。部门优先级别:增量模型允许按照部门的优先级别逐个实现功能。根据企业的需求和优先级,可以先实现最关键的销售部门功能,然后逐渐扩展到供应、财务、生产和人力资源等部门。用户反馈和参与:增量模型鼓励用户的参与和反馈。通过逐步交付和演化的过程,可以及时获取用户的反馈,以便在后续增量中进行调整和改进。这有助于确保系统最终符合用户的需求和期望。风险管理:增量模型可以更好地管理风险。通过逐步开发和交付,可以及时识别和解决问题,降低整个项目的风险。同时,每个增量的开发都可以进行风险评估和调整,以确保项目的可控性和成功性。

​ 综合来说,增量模型可以满足大型企业按部门优先级别逐个实现综合信息管理系统的需求。它提供了逐步交付、用户参与、风险管理等优势,能够有效地应对复杂性和不确定性,同时保证系统的可靠性和功能性。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有